home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-03 / qbfaqr01.zip / PANDEM.BAS < prev    next >
BASIC Source File  |  1992-08-10  |  1KB  |  46 lines

  1. ' PANDEM.BAS    demonstrates how to pan EGA/VGA screens
  2. '
  3. '   Author:     Christy Gemmell
  4. '
  5.     DECLARE SUB PanDisplay (x%, y%)
  6.  
  7.     CONST FALSE = 0, TRUE = NOT FALSE
  8.  
  9.     SCREEN 9
  10.     LINE (0, 0)-(639, 349), 9, BF
  11.     VIEW SCREEN (40, 25)-(600, 325), 0, 15
  12.     CIRCLE (319, 174), 150, 14
  13.     PAINT (319, 174), 14, 14
  14.  
  15.     x% = 0: y% = 0: Esc$ = CHR$(27)
  16.     LeftArrow$ = CHR$(0) + CHR$(75): RightArrow$ = CHR$(0) + CHR$(77)
  17.     UpArrow$ = CHR$(0) + CHR$(72): DownArrow$ = CHR$(0) + CHR$(80)
  18.  
  19.     DO
  20.         DO
  21.             KeyStroke$ = INKEY$
  22.         LOOP WHILE KeyStroke$ = ""
  23.         Pan% = TRUE
  24.         SELECT CASE KeyStroke$
  25.             CASE LeftArrow$
  26.                  IF x% > 0 THEN x% = x% - 1
  27.             CASE RightArrow$
  28.                  IF x% < 79 THEN x% = x% + 1
  29.             CASE UpArrow$
  30.                  IF y% > 0 THEN y% = y% - 1
  31.             CASE DownArrow$
  32.                  IF y% < 22 THEN y% = y% + 1
  33.             CASE ELSE
  34.                  Pan% = FALSE
  35.         END SELECT
  36.         IF Pan% THEN PanDisplay x%, y% * 5
  37.     LOOP UNTIL KeyStroke$ = Esc$
  38. END
  39.  
  40. '   Set display window co-ordinates -- [MAIN CODE!!]
  41. '   Works on EGA, VGA, MCGA, no CGA
  42. SUB PanDisplay (x%, y%) STATIC
  43.     OUT &H3D4, 12: OUT &H3D5, y%            ' Scroll screen vertically
  44.     OUT &H3D4, 13: OUT &H3D5, x%            ' Scroll screen horizontally
  45. END SUB
  46.